package com.example.houseitemmanagebackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.houseitemmanagebackend.dto.MessageDTO;
import com.example.houseitemmanagebackend.entity.Message;
import com.example.houseitemmanagebackend.vo.MessageVO;

import java.util.List;

/**
 * 消息服务接口
 */
public interface MessageService extends IService<Message> {

    /**
     * 获取位置消息列表
     * 
     * @param locationId 位置ID（可选）
     * @return 消息列表
     */
    List<MessageVO> getMessages(Integer locationId);

    /**
     * 标记消息为已读
     * 
     * @param messageId 消息ID
     * @return 是否成功
     */
    boolean markAsRead(Long messageId);

    /**
     * 标记位置所有消息为已读
     * 
     * @param locationId 位置ID
     * @return 是否成功
     */
    boolean markAllAsReadByLocation(Integer locationId);

    /**
     * 创建新消息
     *
     * @param messageDTO 消息数据
     * @return 新消息ID
     */
    Integer createMessage(MessageDTO messageDTO);
}